﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BaseDatos.Comun;
using System.Data;
using BaseDatos;
using Aplicacion.Base.WinForm;

namespace Modulo.Seguridad.Base
{
    public class LBPerfilxAcceso:ColeccionBase
    {
        #region Campos
        public EFPerfilxAcceso Filtros = null;
        #endregion
        #region Construcctores
        public LBPerfilxAcceso(EFPerfilxAcceso FiltroBusqueda)
         :base()
        {
            this.Filtros = FiltroBusqueda;
        }
        public LBPerfilxAcceso()
            :this(new EFPerfilxAcceso())
        { 
        
        }
        #endregion
        #region Métodos
        public virtual void Buscar()
        {
            try
            {
                ////Crea una matriz
                DbParametro[] Parametros = new DbParametro[2];
                Parametros[0] = new DbParametro("pcodperf", Filtros.CodigoPerfil);
                Parametros[1] = new DbParametro("popcion", Filtros.Opcion);
                ////Consulta la base de datos y crea un dataset
                DataSet Ds = ConexionBaseDatos.Conexion.CrearDataSet("GETCK_perfilxacceso", Parametros);

                List.Clear();
                if (Ds.Tables[0].Rows.Count > 0)
                {
                    foreach (DataRow registro in Ds.Tables[0].Rows)
                    {
                        EBPerfilxAcceso clase = new EBPerfilxAcceso(registro);
                        List.Add(clase);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public void Nuevo(EBPerfilxAcceso perfilxacceso)
        {
            try
            {
                List.Add(perfilxacceso);
            }
            catch (Exception)
            {
                throw;
            }
        }
        #endregion
    }
}
